package com.jingdianjichi.practice.server.service;

import com.jingdianjichi.practice.api.common.PageResult;
import com.jingdianjichi.practice.api.req.GetPracticeSubjectReq;
import com.jingdianjichi.practice.api.req.GetPracticeSubjectsReq;
import com.jingdianjichi.practice.api.req.GetUnCompletePracticeReq;
import com.jingdianjichi.practice.api.vo.*;
import com.jingdianjichi.practice.server.entity.dto.PracticeSetDTO;
import com.jingdianjichi.practice.server.entity.dto.PracticeSubjectDTO;

import java.util.List;

/**
 * ClassName:PracticeService
 * Package:com.jingdianjichi.practice.server.service
 * Description:
 *
 * @Author fst
 * @Create 2025/1/17 17:22
 * @Version 1.0
 */
public interface PracticeService {
    List<SpecialPracticeVO> getSpecialPracticeContent();

    PracticeSetVO addPractice(PracticeSubjectDTO practiceSubjectDTO);

    PracticeSubjectListVO getSubjects(GetPracticeSubjectsReq req);

    PracticeSubjectVO getPracticeSubject(PracticeSubjectDTO practiceSubjectDTO);

    PageResult<PracticeSetVO> getPresetContent(PracticeSetDTO dto);

    PageResult<UnCompletePracticeSetVO> getUnCompletePractice(GetUnCompletePracticeReq req);
}
